When an application executing on a computer becomes unresponsive to user input, the application may be said to be “hung.” When the application attempts to perform an operation relating to a network, the application may become unresponsive to user input while waiting for a response from the network. This condition may be referred to as a “network hang.”
For example, if a user of a client computer uses an application that interacts with a server computer over a network, the application may stop responding to user input because of various conditions on the network. A network hang may also occur when a laptop user communicating over a wireless connection moves out of range of a base station, a server goes down, or a connection with the application becomes too slow because of too much traffic on the network or for a number of other reasons. Also, while conditions on the network may be normal, an application may request a network operation requiring a large amount of data, and the application may therefore run slowly that it appears hung.
Conventional operating systems can detect hung applications based on the time that elapses between user input and a response from the application. When a user attempts to terminate a hung application, the operating system may notify the user that the application is hung and provide the user with the option of continuing with the termination process or canceling the termination process.